package org.darkforest.common.services;

import org.darkforest.model.PdLog;
import org.darkforest.model.PdLogSearchBean;
import org.darkforest.model.PdLogVo;

import java.util.List;
import java.util.Map;

/**
 * Created by Administrator on 2016/1/27.
 */
public interface PdLogService {

    int deleteByPrimaryKey(Integer lgId);

    int insert(PdLog record);

    int insertSelective(PdLog record);

    PdLog selectByPrimaryKey(Integer lgId);

    int updateByPrimaryKeySelective(PdLog record);

    int updateByPrimaryKey(PdLog record);

    List<PdLogVo> selectByMember(PdLogSearchBean page);

    List<PdLogVo> selectByCondition(PdLogSearchBean pdLog);

    /**
     * 统计预存款根据日期
     * @param searchBean
     * @return
     */
    Map<String, Object> statisticsPdLogByDay(PdLogSearchBean searchBean);

    /**
     * 统计预存款根据月份
     * @param searchBean
     * @return
     */
    Map<String,Object> statisticsPdLogByMonth(PdLogSearchBean searchBean);


    /**
     * 用户自定义时间查询统计
     * @param searchBean
     * @return
     */
    Map<String,Object> statisticsPdLogByCustom(PdLogSearchBean searchBean);

    /**
     * 查询某天的数据
     * @param searchBean
     * @return
     */
    List<PdLogVo> selectListByDay(PdLogSearchBean searchBean);

    /**
     * 按月查询
     * @param searchBean
     * @return
     */
    List<PdLogVo> selectListByMonth(PdLogSearchBean searchBean);

    /**
     * 用户自定义日期查询
     * @param searchBean
     * @return
     */
    List<PdLogVo> selectListByCustom(PdLogSearchBean searchBean);

    /**
     * 根据指定日期统计充值 体现 支付……总额
     * @param searchBean
     * @return
     */
    Map<String,Object> statisticsByDay(PdLogSearchBean searchBean);

    /**
     * 根据指定月份统计充值 体现 支付……总额
     * @param searchBean
     * @return
     */
    Map<String,Object> statisticsByCustom(PdLogSearchBean searchBean);

    /**
     * 根据时间段内统计充值 体现 支付……总额
     * @param searchBean
     * @return
     */
    Map<String,Object> statisticsByMonth(PdLogSearchBean searchBean);
}
